package com.ruoyi.common.utils;

import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.common.exception.ServiceException;

/**
 * @author Cullen
 * @date 2015-12-12 00:00:00
 */
public class CullenUtils {

    /**
     * 校验参数是否满足表达式并抛出异常
     *
     * @param exp     表达式
     * @param message 异常信息
     */
    public static void validateDataThrowException(Boolean exp, String message) {
        if (exp) {
            throw new ServiceException(message);
        }
    }


    /**
     * 校验参数是否满足表达式并抛出异常
     *
     * @param exp1    表达式
     * @param exp2    表达式
     * @param message 异常信息
     */
    public static void validateDataThrowException(Boolean exp1, Boolean exp2, String message) {
        if (exp1) {
            if (exp2) {
                throw new ServiceException(message);
            }
        }
    }

    /**
     * 校验参数是否满足表达式并抛出异常
     *
     * @param exp     表达式
     * @param message 异常信息
     * @param code    码
     */
    public static void validateDataThrowException(Boolean exp, String message, Integer code) {
        if (exp) {
            throw new ServiceException(message, code);
        }
    }


    private static JSONObject getData(Object data) {
        JSONObject map = new JSONObject();
        map.put("value", data);
        return map;
    }


    private static String subSting(String str, Integer size) {
        if (str.length() <= size) {
            return str;
        } else {
            return str.substring(0, size);
        }
    }

    private static Character subStr(String str, int index) {
        return str.charAt(index);
    }

    public static String toPrice(String str) {
        if (str.length() < 5) {
            return str.concat("元");
        } else if (str.length() == 5) {
            return subStr(str, 0).toString().concat(".")
                    .concat(subStr(str, 1).toString()).concat("W");
        } else if (str.length() == 6) {
            return subStr(str, 0).toString().concat("")
                    .concat(subStr(str, 1).toString()).concat(".")
                    .concat(subStr(str, 2).toString()).concat("W");
        } else if (str.length() == 7) {
            return subStr(str, 0).toString().concat("")
                    .concat(subStr(str, 1).toString()).concat("")
                    .concat(subStr(str, 2).toString()).concat(".")
                    .concat(subStr(str, 3).toString()).concat("W");
        } else if (str.length() == 8) {
            return subStr(str, 0).toString().concat("")
                    .concat(subStr(str, 1).toString()).concat("")
                    .concat(subStr(str, 2).toString()).concat("")
                    .concat(subStr(str, 3).toString()).concat(".")
                    .concat(subStr(str, 4).toString()).concat("W");
        } else if (str.length() == 9) {
            return subStr(str, 0).toString().concat("Y")
                    .concat(subStr(str, 1).toString()).concat("")
                    .concat(subStr(str, 2).toString()).concat("")
                    .concat(subStr(str, 3).toString()).concat("")
                    .concat(subStr(str, 4).toString()).concat(".")
                    .concat(subStr(str, 5).toString()).concat("W");
        } else {
            throw new RuntimeException("数值过亿...");
        }
    }
}
